Memory manufactures often utilize data compression in order to store more data on less silicon. One of the challenges in compressing data is identifying data that should be compressed together. A storage controller is able to obtain better compression ratios when compressing large blocks of data together. However, this may create inefficiencies when a storage controller needs to read data from only a small portion of the blocks of data that were compressed together. In instances like these, the storage controller would need to read the entire compressed block from memory and decompress the entire block before reading the required data. Accordingly, improved systems and methods for identifying and compressing rarely used blocks of data that may be efficiently compressed together are desirable.